GNUPro Toolkit Documentation|Contents|Previous|Next
Cygnus and GNUPro Toolkit fundamentals

The following documentation introduces the fundamentals of the GNUPro tools, what GNUPro Toolkit contains and supports as well as how the tools work. To install for UNIX platforms, see Installing on UNIX systems from CD, and, to install for the Windows platforms, see Installing on Win 95/NT systems from CD.

- About Cygnus and what Cygnus offers
- About the tools
- What’s in the documentation
- Native configurations support
- Embedded cross-configuration support
- Version numbers for programs
- Naming hosts and targets
- Using the tools on native and embedded systems
- Source-Navigator demonstration
- Cygnus glossary
- Working with Cygnus Insight, the visual debugger
- Rebuilding from source

For quick resolution to technical questions, see Red flag alerts & enhancements and, to report problems, see How to report problems.

For embedded targets, GNUPro Tools for Embedded Systems.

## About Cygnus and what Cygnus offers

Cygnus provides GNUPro Toolkit as a set of powerful, multi-platform software development tools for advanced desktop and embedded systems for developing projects. Cygnus is the leading provider of single-source, UNIX, and Win32 desktop and cross-platform development tools for 32- and 64-bit microcontrollers.
Cygnus is the open-source software leader that provides complete end-to-end software solutions, including embedded and desktop development tools and real-time operating systems (RTOSs), as well as custom-engineering services and world-class support. Cygnus partners with the world’s leading processor companies to ensure open-source software technologies are available on the latest architectures. Cygnus also works with key embedded product manufacturers across all market segments to customize solutions and develop new technologies that meet their business objectives.
Cygnus is redefining the way software is developed industry wide by making its infrastructure technologies freely available, using the powerful open-source model. Cygnus’ approach to software is to deliver our innovation back to the market. For distributing, enhancing, and fostering open-source technologies, see the following resources.

> > `http://sourceware.cygnus.com/`

Cygnus customers include the world’s top microprocessor companies as well as leading consumer electronics, Internet, telecommunications, office automation, networking, aerospace, and automotive companies.
Customers turn to Cygnus to have the following benefits.

- Shortening time to market & reducing costs
Cygnus provides cost-effective developer support services, standards based products, and redistributable solutions.
- Enabling code reuse
Cygnus’ single-source development tools provide true multi-platform capabilities and easy re-targeting.
- Fostering innovation
Cygnus offers client services that solve the most challenging problems and develop new technologies.
- Providing peace of mind
Cygnus secures customer investments with support backed by a premier engineering organization.

The following Cygnus development tools are available.

> > - GNUPro® Toolkit is a set of powerful, multi-platform software development tools for advanced desktop and embedded systems that delivers productivity, flexibility, performance and portability for over 125 host/target combinations for embedded microprocessors. Cygnus provides engineering services and mission-critical support to microprocessor and product manufacturing partners, and even off-the-shelf product sales to ensure that Cygnus development tools provide functionality and flexibility unmatched by any proprietary tools vendor.
> > Cygnus sells GNUPro Toolkit bundled with support for rapid response and resolution of technical questions or problems, and regular software upgrades. Cygnus also sells a standalone version of the GNUPro Toolkit for Linux. The toolkit includes ANSI-conforming C and C/C++ compilers, a macro-assembler, the Cygnus Insight visual debugger, and binary utilities. All the tools come on CD with online and printed documentation as well as a Quick Reference guide. See also About the tools.
> > To locate specific documentation, see What’s in the documentation and, also, see the following topics.

- Native configurations support
- Embedded cross-configuration support
- Version numbers for programs
Naming hosts and targets

> > - Source-NavigatorTM is a graphical, advanced source-code comprehension and analysis tool that enables developers to understand code structures and relationships. Available in Developer and Enterprise editions, Source-Navigator makes migrating, re-engineering, reusing code, or understanding Y2K (Year 2000) problems much easier. The Developer edition targets single developers working on projects of up to 100,000 lines of code, and the Enterprise edition targets large-scale, complex projects managed by development teams.
> > - Integrated with GNUPro development tools is Cygnus’ open-source RTOS, eCosTM, that provides a new industry standard for the rapidly evolving world of embedded systems. eCos (embedded Cygnus operating system) is a full-featured, run-time solution under open-source licensing terms. eCos is a royalty-free, highly configurable, application-specific operating system targeted at embedded systems development. eCos offers a solution to the highly fragmented RTOS marketplace by providing an open-source run-time infrastructure that enables embedded system developers to focus on differentiating their products rather than on the development, maintenance, or configuration of a real-time kernel. eCos empowers embedded developers with knowing that their software investments will be preserved on future hardware.
> > - CygwinTM, a full-featured Win32 porting layer for UNIX applications, is compatible with all Win32 hosts (currently, these are Microsoft’s Windows NT/95/98 systems). Cygwin, invented in 1995 by Cygnus, is an answer to the question of how to port the GNU development tools to a Win32 host.

About the tools
GNUPro software delivers productivity, flexibility, performance and portability with its ISO-conforming C and ISO-tracking C++ compiler, macro-assembler, GUI debugger, binary utilities and libraries.
See GNUPro Toolkit documentation for more documentation on the following GNUPro Toolkit components.

- Compilers and development tools
- Libraries
- General utilities
- Binary utilities

For working with the tools, see Using the tools on native and embedded systems. To use them, enter their name as a command in your shell window (`gcc`, for instance, invokes the C compiler while `gdb` invokes Cygnus Insight and `snavigator` invokes Source-Navigator, the source code comprehension tool). For embedded targets, GNUPro Tools for Embedded Systems.

## Compilers and development tools

The following tools are the main tools for developing with GNUPro Toolkit.

`gcc` | C compiler; see Using GNU CC in GNUPro Compiler Tools for details.
`g++` | C++ compiler; see Using GNU CC in GNUPro Compiler Tools for details.
`gdb` | Debugger; see GNUPro Debugger Tools for details. Invoke by using the command, `gdb -nw`, and see also `gdbtk`.
`gas` | Assembler; see Using `as` in GNUPro Utilities for details.
`cpp` | C Preprocessor; see Using GNU CC in GNUPro Compiler Tools for details.
`ld` | Linker; see Using `ld` in GNUPro Utilities for details.
`gdbtk` | Debugger graphical user interface, a visual debugger known as Cygnus InsightTM (formerly known as GDBTk); see Working with Cygnus Insight, the visual debugger. Invoke by using the command, `gdb`.
`make` | Compilation control program; see Using `make` in GNUPro Utilities for details.
`cmp` | Utility that compares files byte-by-byte; see Using GNU CC in GNUPro Compiler Tools for details.
`cygwin` | Win32 porting layer for UNIX applications; see Cygwin: a free Win32 porting layer for UNIX, Cygwin User’s Guide and Cygwin API Reference, and applications in GNUPro Tools for Embedded Systems for details about using the tools for developing programs in the Win32 environment.
`gcov` | Coverage analyzer; see Using GNU CC in GNUPro Compiler Tools for details.
`snavigator` | Source-Navigator, a source code comprehension tool; see the online “User’s Reference Guide” and “Programmer’s Reference Guide” documentation, by invoking Source-Navigator from the commandline, and, also, see Source-Navigator demonstration.

## Libraries

See GNUPro Libraries for documentation regarding these libraries.

`libc` | ANSI C runtime library (only available for cross-development); see GNUPro C Library in GNUPro Libraries for details.
`libm` | C math subroutine library (only available for cross-development); see GNUPro Math Library in GNUPro Libraries for details.
`libio` | C++ iostreams library; see The GNU C++ Iostream Library in GNUPro Libraries for details.
`libstdc++` | C++ class library

## Binary utilities

See Using `binutils` in GNUPro Utilities for documentation for the following utilities.

`c++filt` | C++ symbol name deciphering utility
`nm` | Lists object file symbol tables
`objdump` | Displays object file information
`size` | Lists section andtotal sizes
`ar` | Manages object code archives
`ranlib` | Generates archive index
`strip` | Discards symbols
`objcopy` | Copies and translates object files
`addr2line` | Translates program addresses into file names and line numbers
`windres` | Manipulates Windows resources

## General utilities

See GNUPro Utilities and GNUPro Utilities for clarification regarding the following utilities.

`flex` | Fast lexical analyzer generator suitable for GCC and other compilers; see Using `make` for details.
`diff`, `diff3`, `sdiff` | Compare text files; see Using `diff`&`patch` for details.
`patch` | Installs source fixes; see Using `diff`&`patch` for details.

# GNUPro Toolkit documentation

GNUPro Toolkit includes documentation in HTML and printed forms. See What’s in the documentation for a listing of the documentation’s contents and also see Documentation conventions.

- HTML
To locate the documentation on the web, see `http://www.cygnus.com/pubs/gnupro`
- Printed
Available by request.

- Online
Texinfo `info` files. See Using online documentation, Reading online documentation and Using `info`.

## Documentation conventions

The documentation uses the following conventions for commands, filenames, and other program-specific subjects.

- `Typewriter-text for input`
Indicates onscreen text as an example of input for a program, such as `PATH=/usr/cygnus` . It will also indicate other literal bits of text from a program, such as filenames or source code.

- `Typewriter-text in bold for output`
Indicates text that is an example of a program’s onscreen output such as command prompts.

IMPORTANT!

`%` indicates a command prompt in most documentation; a command prompt in some rare examples, depending on the system in use and the program’s tool, may actually be `#` or `$` and, as with the visual debugger, Cygnus Insight, the command prompt is `(gdb)`.
- `Typewriter-text in italics for variables`
Indicates text that stands for variable input such as `filename` where the actual input might be a file with the name, `foobar.c` .
For instance, the documentation may read “To delete the file named `filename`, type `rm` `filename`.” `filename` stands for the file name that you need substitute.

- Keys or keystroke combinations to use
This font indicates keys on your keyboard, such as Ctrl, Delete, or even the spacebar key.

The Ctrl key and the Meta key are often indicated in the text by C- and M-, respectively. In addition, Meta (or M-) may indicate, for example, the Alt key on a Windows keyboard, or a diamond-key on UNIX keyboards.

The Enter (carriage return) key on your keyboard may appear as ENTER or RET (for Return) in text.

What’s in the documentation
GNUPro Toolkit documentation includes the following documentation.

- Getting Started with GNUPro Toolkit

- Installation

- Installing

- Installing on UNIX
- Installing for Windows

- General licenses and terms for using GNUPro Toolkit
- Reporting problems

- Introduction

- Cygnus and GNUPro Toolkit fundamentals (this documentation)
- Red flag alerts and enhancements
- Issues from previous releases
- Using the tools on native and embedded systems
- Cygnus glossary
- Working with Cygnus Insight, the visual debugger
- Rebuilding from source

- GNUPro Compiler Tools

- Using GNU CC
- The C Preprocessor

- GNUPro Debugging Tools

- Debugging with GDB

- GNUPro Libraries

- GNUPro C Library
- GNUPro Math Library
- The GNU C++ Iostream Library

- GNUPro Utilities

- Using `as` (the GNU Assembler)
- Using `ld`(the GNU Linker)
- Using `binutils` (the GNU binary utilities)
- Using `make` (the GNU reconfiguring tool)
- Using `info` (GNU online help; not to be confused with HTML)
- Using `diff` & `patch` (GNU tools for comparing & merging files)

- GNUPro Tools for Embedded Systems
(detailing usage of the GNU tools and embedded target development)

## Using website documentation

As with all GNU software, the HTML source for documentation is available (or you can convert it yourself using publicly available utilities) if you wish to put them into an internal Web server.

> `http://www.cygnus.com/pubs/gnupro`

## Using online documentation

For online use, the CD includes online versions of the following documentation in the Texinfo form, `info` (requiring the TEX tools). The `info` files do not have support since modifying them changes the source files, and that action delays the shipment of the tools. Therefore, the HTML documentation is more accurate since Cygnus can modify them until just prior to shipment. See Using `info` in GNUPro Utilities for documentation regarding these tools.

- `man` pages
Includes all the tools and programs in this release.

- FLEX: A Fast Lexical Analyzer Generator
Generates lexical analyzers suitable for GCC and other compilers.

- Using an Porting GNU CC
Contains information about requirements for putting GCC on different platforms, or for modifying GCC; includes documentation from Using GNU CC.

- BYacc
Discusses the Berkeley Yacc parser generator.

- Texinfo: The GNU Documentation Format
Details TEX and the printing and generating of documentation, as well as how to write manuals in the TEX style.

- Cygnus configuration program
Describes the configuration program that GNUPro Toolkit uses.

- GNU Coding Standards
Elaborates on the coding standards with which the GNU projects develop.

- GNU gprof
Details the GNU performance analyzer (only for the SunOS 4.1.4 or Solaris 2.5/2.6 systems).

You have the freedom to copy the documentation using its accompanying copyright statements, which include the necessary permissions. See Using `info` in GNUPro Utilities for documentation regarding the following tools. See also Reading online documentation.

Texinfo*, `texindex`, `texi2dvi` | Documentation formatting tools
`makeinfo`, `info` | Online documentation tools

* Requires TEX, the technical documentation formatting tool

## Reading online documentation

Browse through the online documentation using either Emacs or the info documentation browser program, included with GNUPro Toolkit. Online, the information is organized into nodes, corresponding to the sections of a printed book.
Follow them in sequence, as in the printed books, or, using the hyperlinks, find the node that has the information you need. `info` has hot references (if one section refers to another section, you can have `info` take you immediately to that other section—and you can get back again easily to take up your reading where you had been). You can also search for particular words or phrases.
The best way to start with the online documentation system is to run the browser, `info`. After installing GNUPro Toolkit, use `info` by typing its name at a shell prompt—no options or arguments are necessary.
You may need to check that `info` is in your shell path after you install GNUPro Toolkit. If you have problems running `info`, contact your system administrator.
To learn how to use `info`, type h for a programmed instruction sequence, or Ctrl+h for a short summary of commands. To stop using `info`, type q.
See Overview of `info` in Using `info` in GNUPro Utilities for links to detailed discussion of the `info` program.

# Native configurations support

GNUPro Toolkit software supports the following native configurations.

- DEC’s Alpha Digital UNIX 4.0

- Hewlett Packard’s 9000/700 HP-UX 10.01

- Hewlett Packard’s 9000/700 HP-UX 10.20

- Hewlett Packard’s 9000/700 HP-UX 10.20/11.0*

- Microsoft’s Windows† NT4.0-sp3‡/95-osr2/98

- IBM’s PowerPC 4.2

- Red Hat’s Linux 5.1/5.2/6.0 (`x`86**)

- SGI’s Iris 6.2

- Sun’s SPARC Solaris 2.5.1

- Sun’s SPARC Solaris 2.6

- Sun’s SPARC Solaris 7.0††

- Sun’s SPARC SunOS 4.1.4

* | The support for Hewlett Packard’s 9000/700 HP-UX 11.0 version is only for 32-bit mode.
† | IMPORTANT: There is no support for rebuilding cross-configurations for the Windows 95 and 98 versions; rebuilding is only available for the NT version. To name the Windows operating systems, Cygnus uses “NT4.0-sp3” for Windows NT 4.0/service pack 3, and “95-osr2” for Windows 95/operating system revision 2.
‡ | See also Cygwin: a free Win32 porting layer for UNIX, Cygwin User’s Guide and Cygwin API Reference, and applications in GNUPro Tools for Embedded Systems for details about using the tools for developing programs in the Win32 environment.
** | The 486, 586 and 686 are the supported versions.
†† | The support for Sun’s SPARC Solaris 7.0 version is only for 32-bit mode.

For working with the tools, see Using the tools on native and embedded systems. For embedded targets, GNUPro Tools for Embedded Systems.

# Embedded cross-configuration support

GNUPro Toolkit software supports embedded cross-configuration targets for the following host operating systems.

- For Hewlett Packard operating systems and the targets, see Table 1.
- For Microsoft operating systems and the targets, see Table 2.
- For Red Hat Linux operating systems and the targets, see Table 3.
- For Sun’s Solaris operating systems and the targets, see Table 4.
- For Sun’s SunOS operating systems and the targets, see Table 5.

For working with the tools, see Using the tools on native and embedded systems. For embedded targets, GNUPro Tools for Embedded Systems.

Note:
In the following tables, `x` denotes a version number range; see accompanying footnotes of host or target information for each table.

Table 1: Embedded cross-configuration support for Hewlett Packard systems

Host | Target | Output Format
HP-UX 10.`x`* | Motorola 68K† | a.out ‡
| MIPS VR4300 | ELF
| MIPS 64 VR5`xxx`** | ELF
| PowerPC | EABI ††

* | The HP-UX platform that has support for cross-configuration is the10.01 version; the 10.20 and 11.0 versions have no cross-configuration support, although they may work with embedded targets in this list.
† | “68K” or “m68k” signifies the 68000 series processors from Motorola.
‡ | To use the Motorola “Coldfire” version as the configuration to target, see Motorola `m68k` development in GNUPro Tools for Embedded Systems.
** | The processors that have support are all the NEC 5000 and 5400 CPU versions.
†† | EABI signifies the embedded ABI ELF format.

Table 2: Embedded cross-configuration support for Microsoft systems

Host | Target | Output Format
Microsoft Windows* NT4.0† | ARM 7 | ELF
| ARM 7T‡ | ELF
| Fujitsu SPARClite | a.out, ELF
| Hitachi H8/300, H8/300H, H8S | COFF**
| Hitachi SH1/2/3/4 | COFF††, ELF
| Intel i960 | COFF
| MicroSPARC | ELF
| Matsushita MN10200/MN10300 | ELF
| MIPS R4`xx`0‡‡ | ELF
| MIPS VR4100 | ELF
| MIPS VR4300 | ELF
| MIPS 64 VR5`xxx`*** | ELF
| MIPS LSI TinyRISC | ELF
| MIPS TX39 | ELF
| Mitsubishi D10V | ELF
| Motorola 68K††† | COFF, ELF‡‡‡
| NEC V85`x`**** | ELF
| PowerPC | EABI††††
| `x`86‡‡‡‡ | ELF

* | See also Cygwin: a free Win32 porting layer for UNIX, Cygwin User’s Guide and Cygwin API Reference, and applications in GNUPro Tools for Embedded Systems for details about using the tools for developing programs in the Win32 environment.
† | IMPORTANT: There is no support for rebuilding cross-configurations for the Windows 95 and 98 versions; rebuilding is only available for the NT version.
‡ | This is the THUMB version of the ARM processor
** | The Cygnus naming convention for the Hitachi H8300, H8/300H, and H8S uses the “`hms`” notation for COFF.
†† | The Cygnus naming convention for the Hitachi SH series uses the “`hms`” notation for COFF.
‡‡ | The versions supported are the 4100 and 4300 series.
*** | The MIPS processors that have support are the NEC 5000 and 5400 CPU versions.
††† | “68K” or “`m68k`” signifies the 68000 series processors from Motorola.
‡‡‡ | To use the Motorola “Coldfire” version as the configuration to target, see “Motorola m68k development” in GNUPro Tools for Embedded Systems.
**** | The V850 and the V851 are the supported versions.
†††† | EABI signifies the embedded ABI ELF format.
‡‡‡‡ | The 486, 586 and 686 are the supported versions.

Table 3: Embedded cross-configuration support for Red Hat Linux systems

Host | Target | Output Format
Red Hat Linux 5.1/5.2 | ARM 7 | ELF
| ARM 7T* | ELF
| Fujitsu SPARClite | a.out, ELF
| Hitachi SH1/2/3/4 | ELF
| PowerPC | EABI†

* | This is the THUMB version of the ARM processor.
† | EABI signifies the embedded ABI ELF output format.

Table 4: Embedded cross-configuration support for Sun’s Solaris systems

Host | Target | Output Format
Sun SPARC Solaris 2.5* | ARM 7 | ELF
| ARM 7T† | ELF
| Hitachi H8/300, H8/300H, H8S | COFF‡
| Hitachi SH1/2/3/4 | COFF**
| Intel i960 | COFF
| Matsushita MN10200/MN10300 | ELF
| MicroSPARC | ELF
| MIPS 64 R4`xxx`†† | ELF
| MIPS 64 VR4100 | ELF
| MIPS 64 VR4300 | ELF
| MIPS 64 VR5`xxx` | ELF
| MIPS LSI TinyRISC | ELF
| MIPS TX39 | ELF
| Mitsubishi D10V | ELF
| Mitsubishi M32R | ELF
| Motorola 68K‡‡ | a.out, COFF, ELF***
| NEC v85`x`††† | ELF
| PowerPC | EABI‡‡‡
| Sun MicroSPARC | ELF
| Sun SPARC | ELF
| Sun UltraSPARC | ELF
| Temic SPARClet | a.out
| `x`86**** | COFF, ELF

* | IMPORTANT: There is no support for rebuilding cross-configurations for Solaris 2.6 and 7.0 systems; rebuilding is only available for the 2.5 version.
† | This is the THUMB version of the ARM processor.
‡ | The Cygnus naming convention for the Hitachi H8300, H8/300H, and H8S uses the “`hms`” notation for COFF.
** | The Cygnus naming convention for the Hitachi H8300, H8/300H, and H8S uses the “`hms`” notation for COFF.
†† | The processors that have support are all the 4100 and the 4300 CPU versions.
‡‡ | “68K” or “`m68k`” signifies the 68000 series processors from Motorola.
*** | To use the Motorola “Coldfire” version as the configuration to target, see “Motorola m68k development” in GNUPro Tools for Embedded Systems.
††† | The V850 and the V851 are the supported versions.
‡‡‡ | EABI signifies the embedded ABI ELF output format.
**** | The 486, 586 and 686 are the supported versions.

Table 5: Embedded cross-configuration support for Sun’s SunOS systems

Host | Target | Output Format
Sun SPARC SunOS 4.1.4 | Hitachi SH1/2/3/4 | COFF
| Intel i960 | COFF
| MIPS 64 R4`xxx`* | ELF
| MIPS 64 VR4`xxx`† | ELF
| MIPS 64 VR5`xxx`‡ | ELF
| MIPS LSI TinyRISC | ELF
| MIPS TX39 | ELF
| Mitsubishi D10V | ELF
| Motorola 68K** | a.out, COFF
| NEC V85`x`†† | ELF
| PowerPC | EABI‡‡
| Temic SPARClet | a.out

* | The processors that have support are all the 4100 and the 4300 CPU versions.
† | The MIPS processors that have support are all the NEC 4000 CPU versions.
‡ | The MIPS processors that have support are all the NEC 5000 and 5400 CPU versions.
** | “68K” or “`m68k`” signifies the 68000 series processors from Motorola.
†† | The V850 and the V851 are the supported versions.
‡‡ | EABI signifies the embedded ABI ELF output format.

# Version numbers for programs

Table 6: Tools and their versions shows the current version numbers for individual programs in GNUPro Toolkit.
Table 6: Tools and their versions

Program | Version Numbers
--- | ---
`bfd` | `2.8-gnupro-99r1`
`binutils` | `2.9-gnupro-99r1`
`diff` | `2.7-gnupro-99r1`
`expect` | `5.23-gnupro-99r1`
`flex` | `2.5-gnupro-99r1`
`gas` | `2.9-gnupro-99r1`
`gcc` | `2.9-gnupro-99r1`
`gcov` | `1.5-gnupro-99r1`
`gdb` | `4.17-gnupro-99r1`
`ld` | `2.8-gnupro-99r1`
`libstdc++` | `2.8-gnupro-99r1`
`libio` | `2.8-gnupro-99r1`
`make` | `3.75-gnupro-99r1`
`makeinfo` | `1.68-gnupro-99r1`
`newlib/libc` | `1.8-gnupro-99r1`
`newlib/libm` | `1.8-gnupro-99r1`
`patch` | `2.5-gnupro-99r1`

# Naming hosts and targets

Your CD is labeled to indicate the host (and target, if applicable) for which the binaries in GNUPro Toolkit are configured. The specifications used for hosts and targets in the configure script are based on a three-part naming scheme, though the scheme is slightly different between hosts and targets. For hosts, see Host names, and for targets, see Target names.

WARNING!
`configure` can represent a very large number of combinations of architecture, vendor, and operating systems. Support is not possible for all combinations.

## Host names

Table 7: Naming hosts shows the usage of canonical names for referring to the corresponding host platforms that Cygnus supports. For questions about compatibility, contact Cygnus (see How to contact Cygnus).

###### Table 7: Naming hosts

Canonical name | Platform
--- | ---
`alpha-dec-osf4.0` | DEC Alpha Digital UNIX 4.0
`hppa1.1-hp-hpux10` | Hewlett Packard 9000/700, HP-UX 10.01
`hppa1.1-hp-hpux10.20` | Hewlett Packard 9000/700, HP-UX 10.20
`hppa1.1-hp-hpux11` | Hewlett Packard 9000/700, HP-UX 11.0
`i686-cygwin` | Microsoft Windows NT-sp3/95-osr2/98*
`i686-pc-linux-gnu` | Intel PC, Linux RedHat 5.1/5.2/6.0
`mips-sgi-irix6` | SGI Irix 6.2
`powerpc-ibm-aix4.2` | IBM PowerPC, AIX 4.2.1
`sparc-sun-solaris2.5` | Sun SPARCstation, Solaris 2.5.1
`sparc-sun-solaris2.6` | Sun SPARCstation, Solaris 2.6
`sparc-sun-solaris2.7` | Sun SPARCstation, Solaris 2.7
`sparc-sun-sunos4.1` | Sun SPARCstation, SunOS 4.1.4

* | IMPORTANT: There is no support for rebuilding cross-configurations for the Windows 95 and 98 versions; rebuilding is only available for the NT version. See also Cygwin: a free Win32 porting layer for UNIX, Cygwin User’s Guide and Cygwin API Reference, and applications in GNUPro Tools for Embedded Systems for details about using the tools for developing programs in the Win32 environment.

## Target names

The following tables (Table 8-Table 20) show the targets that Cygnus supports and their output formats. The following four types of object code formats are usable for output, listed in order of popular implementation:

> - ELF (Embedded Linker Format)
> - COFF (Common Object File Format)
> - a.out (the original UNIX object file format)
> - EABI (Embedded Application Binary Interface format)

See also Native configurations support and Embedded cross-configuration support for the matrices of the hosts and their target combinations that Cygnus supports. Not all targets have support on every host. Also, for more informaton on using particular tools and their targets, see GNUPro Tools for Embedded Systems and, to determine the proper configuration for a host, see Using `config.guess` to configure.
Table 8: ARM7/7T processor names and output formats

System name | Object file format
`arm-elf` | ELF
`thumb-elf` | ELF

Table 9: Fujitsu processor names and output formats

System name* | Object file format
`sparc86x-aout` | a.out
`sparc86x-elf` | ELF
`sparclite-aout` | a.out
`sparclite-elf` | ELF

* | “`sparc86x`” is the name for the Fujitsu Danlite board. “`sparclite`” is the name for the Fujitsu SPARClite board.

Table 10: H8/300 processor name and output format

System name | Object file format
`h8300-hms`* | COFF
`sh-hms` | COFF

* | “`hms`” is the name for the Hitachi COFF object file format.

Table 11: Intel i960 processor names and output format

System name | Object file format
`i960-coff` | COFF*
`sh-hms` | COFF

* | For MON960 monitor.

Table 12: Linux processor names and output format

System name | Object file format
`i686-pc-linux-gnu-elf` | ELF

Table 13: Matsushita processor names and output format

System name | Object file format
`mn10200-elf` | ELF
`mn10300-elf` | ELF

Table 14: Mitsubishi D10V and M32R processor names and output format

System name | Object file format
`d10v-elf` | ELF
`m32r-elf` | ELF

Table 15: Motorola 68K processor names and output format

System name | Object file format
`m68k-aout` | a.out
`m68k-coff` | COFF
`m68k-elf` | ELF*

* | “68K” or “`m68k`” signifies all the 68000 series processors from Motorola. To use the Motorola “Coldfire” version as the configuration to target, see Motorola `m68k` development in GNUPro Tools for Embedded Systems.

Table 16: MIPS processor names and output formats

System name | Object file format
`mips64-elf` | ELF
`mips64vr4100-elf` | ELF
`mips64vr4300-elf` | ELF
`mips64vr5xxx-elf`* | ELF
`mips-lsi-elf` | ELF
`mips-tx39-elf` | ELF

* | The MIPS processors that have the “`mips64vr5xxx-elf`” name signify the NEC VR5000 and VR5400 CPU versions.

Table 17: NEC V850 processor names and output format

System name | Object file format
`v850-elf` | ELF

Table 18: PC processor names and output format*

System name | Object file format
`i386-aout` | a.out
`i386-coff` | COFF
`i386-elf` | ELF

* | See also Cygwin: a free Win32 porting layer for UNIX, Cygwin User’s Guide and Cygwin API Reference, and applications in GNUPro Tools for Embedded Systems for details about using the tools for developing programs in the Win32 environment. The 486, 586 and 686 are the supported versions.

Table 19: PowerPC processor names and output format

System name | Object file format
`ppc-eabi` | EABI (ELF)
`i386-coff` | COFF
`i386-elf` | ELF

Table 20: SPARC processor names and output formats

System name | Object file format
`sparc-elf` | ELF
`sparclet-aout`* | a.out

* | See also Cygwin: a free Win32 porting layer for UNIX, Cygwin User’s Guide and Cygwin API Reference, and applications in GNUPro Tools for Embedded Systems for details about using the tools for developing programs in the Win32 environment. The 486, 586 and 686 are the supported versions.

## Using `config.guess`

`config.guess` is a shell script that attempts to deduce the host type from which you are working. `config.guess` invokes by the `configure` command. Use system commands like `uname` from the shell in which you are invoking the `config.guess` script, if your shell cannot find the `configure` command.

> WARNING!
> `configure` can represent a very large number of target name combinations of architecture, vendor, and object formats. Support is not possible for all combinations.

`config.guess` is remarkably adept at deciphering the proper configuration for your host; if you are building a tree to run on the same host on which you’re building, we recommend not specifying the `hosttype` argument (hosttype indicates a particular architecture, vendor and operating system; see Naming hosts for more specific input).
You need never run `config.guess`, unless you’re curious about the output.

Top|Contents|Next